<?php
/**
 * 插件名称：HuanYingPan 图片上传
 * 插件简介：在后台编辑器增加“上传到 HuanYingPan”按钮，选择图片后自动上传并插入链接。
 * 版本：1.0.0
 * 作者：HuanYingPan
 */
if (!defined('__TYPECHO_ROOT_DIR__')) exit;

class HuanYingPan_Plugin implements Typecho_Plugin_Interface
{
    /**
     * 启用插件
     */
    public static function activate()
    {
        // 在后台页脚注入脚本（编辑文章/页面时）
        Typecho_Plugin::factory('admin/footer.php')->end = array(__CLASS__, 'editorFooter');
        return _t('插件已启用：在编辑器上方展示“上传到 HuanYingPan”按钮');
    }

    /**
     * 禁用插件
     */
    public static function deactivate()
    {
        return _t('插件已禁用');
    }

    /**
     * 配置面板
     */
    public static function config(Typecho_Widget_Helper_Form $form)
    {
        $apiUrl = new Typecho_Widget_Helper_Form_Element_Text('api_url', NULL, '', _t('API 地址'), _t('例如：https://your-domain/api.php'));
        $form->addInput($apiUrl->addRule('required', _t('请填写 API 地址')));

        $apiKey = new Typecho_Widget_Helper_Form_Element_Text('api_key', NULL, '', _t('API Key'), _t('请输入你的 HuanYingPan API 密钥'));
        $form->addInput($apiKey->addRule('required', _t('请填写 API Key')));

        $public = new Typecho_Widget_Helper_Form_Element_Radio('show', array('0' => _t('隐藏'), '1' => _t('公开')), '0', _t('默认可见性'));
        $form->addInput($public);
    }

    /**
     * 个人配置
     */
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}

    /**
     * 在后台页脚注入脚本与配置
     */
    public static function editorFooter()
    {
        $options = Helper::options();
        $plugin = $options->plugin('HuanYingPan');
        $apiUrl = isset($plugin->api_url) ? $plugin->api_url : '';
        $apiKey = isset($plugin->api_key) ? $plugin->api_key : '';
        $show = isset($plugin->show) ? $plugin->show : '0';
        $apiUrl = htmlspecialchars($apiUrl, ENT_QUOTES);
        $apiKey = htmlspecialchars($apiKey, ENT_QUOTES);
        $show = htmlspecialchars($show, ENT_QUOTES);
        echo '<script>window.__HYP_CFG__={apiUrl:"'.$apiUrl.'",apiKey:"'.$apiKey.'",show:"'.$show.'"};</script>';
        // 资源路径使用 Typecho 约定的 usr/plugins 目录
        $jsUrl = Typecho_Common::url('/usr/plugins/HuanYingPan/assets/uploader.js', $options->rootUrl);
        echo '<script src="'.$jsUrl.'"></script>';
    }
}
